home *** CD-ROM | disk | FTP | other *** search
/ Atari Mega Archive 1 / Atari Mega Archive - Volume 1.iso / cli / okami15.lzh / OKAMI15 / SHOWPIC.SH < prev   
Text File  |  1992-09-20  |  2KB  |  101 lines

  1. #
  2. #       DEMO-SHELLSCRIPT ZUR PROGRAMMIERUNG DER OKAMI-SHELL
  3. #
  4. # showpic: Anzeige von Screenformat-Bildern (>=32000 Bytes)
  5. # @(#) showpic.sh von wr 2.6.90-24.11.91
  6.  
  7.  
  8. # Anmelden als Applikation, notwendig für fsel
  9. gon 2>NULL:
  10.  
  11. # Einstellung der Shellflags sichern
  12. SAVESET=`set -`
  13.  
  14. # "echo $REST" bewirkt Rückkehr zur gespeicherten Cursor-Position und
  15. # Abwärts-Löschen des Bildschirms.
  16. REST=^033k^033j^033J^c
  17.  
  18. # Dateinamen in Kleinbuchstaben ausgeben
  19. set +l
  20.  
  21. # OverScan abschalten, falls vorhanden
  22. OMODE=`overscan`
  23. overscan -
  24.  
  25. # Endlosschleife, wird mit break verlassen
  26. while true
  27. do
  28.   cls
  29.   # den Cursor abschalten (wird durch cls eingeschaltet)
  30.   cursor -v
  31.   echo ************ Anzeige von Screenformat-Bildern ******************
  32.   # aktuelle Cursorposition sichern
  33.   echo ^033j^c
  34.   echo $REST
  35.   echo Bitte wählen Sie die Bilddatei aus.
  36.   NAME=`fsel .\*.PI? . X "Welche Datei anzeigen?"`
  37.  
  38.   # Test auf "Abbruch"
  39.   if [ $X = 0 ]
  40.   then
  41.     break
  42.   fi
  43.  
  44.   # nur anzeigen, wenn die Datei existiert  
  45.   if [ -f $NAME ]
  46.   then
  47.     extname $NAME | read X
  48.     # OFFSET := Länge des Datei-Headers ermitteln
  49.     if [ $X = .pic ]
  50.     then
  51.       # Doodle
  52.       OFFEST=0
  53.     else
  54.       if [ $X = .pi3 ]
  55.       then
  56.         # Degas
  57.         OFFSET=34
  58.       else
  59.         # sonstwas, vom Anwender eingeben lassen
  60.         echo Bitte geben Sie die Länge des Headers der Datei ein:
  61.         echo (0 für Doodle, 34 für Degas-PI3)
  62.         cursor +v
  63.         read OFFSET
  64.         cursor -v
  65.         # hat er wirklich etwas eingegeben?
  66.         if [ -v OFFSET ]
  67.           OFFSET=0
  68.         fi
  69.       fi
  70.     fi
  71.  
  72.     echo $REST
  73.     echo ^nNach dem Bild bitte ENTER drücken.
  74.  
  75.     # Bild laden...
  76.     getscr -$OFFSET $NAME
  77.     # und anzeigen
  78.     putscr
  79.     # warten auf ENTER
  80.     read
  81.  
  82.     # Speicherbereich des Bildes freigeben
  83.     putscr -f
  84.   else # Die Datei gab es nicht
  85.     echo '? Diese Datei existiert nicht.'
  86.     sleep 1
  87.   fi
  88. done
  89.  
  90. # Shell-Flags wiederherstellen
  91. set $SAVESET
  92.  
  93. # OverScan wiederherstellen
  94. overscan $OMODE
  95.  
  96. # Bildschirm löschen, dadurch den Cursor wieder sichtbar machen
  97. cls
  98.  
  99. # Benutzte Shellvariablen freigeben
  100. unset OMODE SAVESET OFFSET NAME REST X
  101.